Add standalone Makefile for the examples
authorEmmanuele Bassi <ebassi@gnome.org>
Tue, 2 Dec 2014 19:15:03 +0000 (19:15 +0000)
committerEmmanuele Bassi <ebassi@gnome.org>
Tue, 2 Dec 2014 19:23:50 +0000 (19:23 +0000)
We want to allow people to build the examples easily, without
necessarily requiring them to build the whole of GTK+.

https://bugzilla.gnome.org/show_bug.cgi?id=741041

examples/application1/Makefile.example [new file with mode: 0644]
examples/application2/Makefile.example [new file with mode: 0644]
examples/application3/Makefile.example [new file with mode: 0644]
examples/application4/Makefile.example [new file with mode: 0644]
examples/application5/Makefile.example [new file with mode: 0644]
examples/application6/Makefile.example [new file with mode: 0644]
examples/application7/Makefile.example [new file with mode: 0644]
examples/application8/Makefile.example [new file with mode: 0644]
examples/application9/Makefile.example [new file with mode: 0644]

diff --git a/examples/application1/Makefile.example b/examples/application1/Makefile.example
new file mode 100644 (file)
index 0000000..bb1b867
--- /dev/null
@@ -0,0 +1,20 @@
+CC = gcc
+LD = ld
+PKGCONFIG = $(shell which pkg-config)
+CFLAGS = `$(PKGCONFIG) --cflags gtk+-3.0`
+LIBS = `$(PKGCONFIG) --libs gtk+-3.0`
+
+SRC = main.c exampleapp.c exampleappwin.c
+
+OBJS = $(SRC:.c=.o)
+
+all: exampleapp
+
+%.o: %.c
+       $(CC) -c -o $(@F) $(CFLAGS) $<
+
+exampleapp: $(OBJS)
+       $(CC) -o $(@F) $(LIBS) $(OBJS)
+
+clean:
+       rm -f $(OBJS)
diff --git a/examples/application2/Makefile.example b/examples/application2/Makefile.example
new file mode 100644 (file)
index 0000000..971c29c
--- /dev/null
@@ -0,0 +1,24 @@
+CC = gcc
+PKGCONFIG = $(shell which pkg-config)
+CFLAGS = `$(PKGCONFIG) --cflags gtk+-3.0`
+LIBS = `$(PKGCONFIG) --libs gtk+-3.0`
+GLIB_COMPILE_RESOURCES = `$(PKGCONFIG) --variable=glib_compile_resources gio-2.0`
+
+SRC = resources.c exampleapp.c exampleappwin.c main.c
+
+OBJS = $(SRC:.c=.o)
+
+all: exampleapp
+
+resources.c: exampleapp.gresource.xml window.ui
+       $(GLIB_COMPILE_RESOURCES) exampleapp.gresource.xml --target=$@ --sourcedir=. --generate-source
+
+%.o: %.c
+       $(CC) -c -o $(@F) $(CFLAGS) $<
+
+exampleapp: $(OBJS)
+       $(CC) -o $(@F) $(LIBS) $(OBJS)
+
+clean:
+       rm -f resources.c
+       rm -f $(OBJS)
diff --git a/examples/application3/Makefile.example b/examples/application3/Makefile.example
new file mode 100644 (file)
index 0000000..971c29c
--- /dev/null
@@ -0,0 +1,24 @@
+CC = gcc
+PKGCONFIG = $(shell which pkg-config)
+CFLAGS = `$(PKGCONFIG) --cflags gtk+-3.0`
+LIBS = `$(PKGCONFIG) --libs gtk+-3.0`
+GLIB_COMPILE_RESOURCES = `$(PKGCONFIG) --variable=glib_compile_resources gio-2.0`
+
+SRC = resources.c exampleapp.c exampleappwin.c main.c
+
+OBJS = $(SRC:.c=.o)
+
+all: exampleapp
+
+resources.c: exampleapp.gresource.xml window.ui
+       $(GLIB_COMPILE_RESOURCES) exampleapp.gresource.xml --target=$@ --sourcedir=. --generate-source
+
+%.o: %.c
+       $(CC) -c -o $(@F) $(CFLAGS) $<
+
+exampleapp: $(OBJS)
+       $(CC) -o $(@F) $(LIBS) $(OBJS)
+
+clean:
+       rm -f resources.c
+       rm -f $(OBJS)
diff --git a/examples/application4/Makefile.example b/examples/application4/Makefile.example
new file mode 100644 (file)
index 0000000..3ce29b3
--- /dev/null
@@ -0,0 +1,24 @@
+CC = gcc
+PKGCONFIG = $(shell which pkg-config)
+CFLAGS = `$(PKGCONFIG) --cflags gtk+-3.0`
+LIBS = `$(PKGCONFIG) --libs gtk+-3.0`
+GLIB_COMPILE_RESOURCES = `$(PKGCONFIG) --variable=glib_compile_resources gio-2.0`
+
+SRC = resources.c exampleapp.c exampleappwin.c main.c
+
+OBJS = $(SRC:.c=.o)
+
+all: exampleapp
+
+resources.c: exampleapp.gresource.xml window.ui app-menu.ui
+       $(GLIB_COMPILE_RESOURCES) exampleapp.gresource.xml --target=$@ --sourcedir=. --generate-source
+
+%.o: %.c
+       $(CC) -c -o $(@F) $(CFLAGS) $<
+
+exampleapp: $(OBJS)
+       $(CC) -o $(@F) $(LIBS) $(OBJS)
+
+clean:
+       rm -f resources.c
+       rm -f $(OBJS)
diff --git a/examples/application5/Makefile.example b/examples/application5/Makefile.example
new file mode 100644 (file)
index 0000000..a5ab302
--- /dev/null
@@ -0,0 +1,33 @@
+CC = gcc
+PKGCONFIG = $(shell which pkg-config)
+CFLAGS = `$(PKGCONFIG) --cflags gtk+-3.0`
+LIBS = `$(PKGCONFIG) --libs gtk+-3.0`
+GLIB_COMPILE_RESOURCES = `$(PKGCONFIG) --variable=glib_compile_resources gio-2.0`
+GLIB_COMPILE_SCHEMAS = `$(PKGCONFIG) --variable=glib_compile_schemas gio-2.0`
+
+SRC = resources.c exampleapp.c exampleappwin.c main.c
+
+OBJS = $(SRC:.c=.o)
+
+all: exampleapp
+
+org.gtk.exampleapp.gschema.valid: org.gtk.exampleapp.gschema.xml
+       $(GLIB_COMPILE_SCHEMAS) --strict --dry-run --schema-file=$< && mkdir -p $(@D) && touch $@
+
+gschemas.compiled: org.gtk.exampleapp.gschema.valid
+       $(GLIB_COMPILE_SCHEMAS) .
+
+resources.c: exampleapp.gresource.xml window.ui app-menu.ui
+       $(GLIB_COMPILE_RESOURCES) exampleapp.gresource.xml --target=$@ --sourcedir=. --generate-source
+
+%.o: %.c
+       $(CC) -c -o $(@F) $(CFLAGS) $<
+
+exampleapp: $(OBJS) gschemas.compiled
+       $(CC) -o $(@F) $(LIBS) $(OBJS)
+
+clean:
+       rm -f org.gtk.exampleapp.gschema.xml.valid
+       rm -f gschemas.compiled
+       rm -f resources.c
+       rm -f $(OBJS)
diff --git a/examples/application6/Makefile.example b/examples/application6/Makefile.example
new file mode 100644 (file)
index 0000000..bd31b54
--- /dev/null
@@ -0,0 +1,33 @@
+CC = gcc
+PKGCONFIG = $(shell which pkg-config)
+CFLAGS = `$(PKGCONFIG) --cflags gtk+-3.0`
+LIBS = `$(PKGCONFIG) --libs gtk+-3.0`
+GLIB_COMPILE_RESOURCES = `$(PKGCONFIG) --variable=glib_compile_resources gio-2.0`
+GLIB_COMPILE_SCHEMAS = `$(PKGCONFIG) --variable=glib_compile_schemas gio-2.0`
+
+SRC = resources.c exampleapp.c exampleappwin.c exampleappprefs.c main.c
+
+OBJS = $(SRC:.c=.o)
+
+all: exampleapp
+
+org.gtk.exampleapp.gschema.valid: org.gtk.exampleapp.gschema.xml
+       $(GLIB_COMPILE_SCHEMAS) --strict --dry-run --schema-file=$< && mkdir -p $(@D) && touch $@
+
+gschemas.compiled: org.gtk.exampleapp.gschema.valid
+       $(GLIB_COMPILE_SCHEMAS) .
+
+resources.c: exampleapp.gresource.xml window.ui app-menu.ui
+       $(GLIB_COMPILE_RESOURCES) exampleapp.gresource.xml --target=$@ --sourcedir=. --generate-source
+
+%.o: %.c
+       $(CC) -c -o $(@F) $(CFLAGS) $<
+
+exampleapp: $(OBJS) gschemas.compiled
+       $(CC) -o $(@F) $(LIBS) $(OBJS)
+
+clean:
+       rm -f org.gtk.exampleapp.gschema.xml.valid
+       rm -f gschemas.compiled
+       rm -f resources.c
+       rm -f $(OBJS)
diff --git a/examples/application7/Makefile.example b/examples/application7/Makefile.example
new file mode 100644 (file)
index 0000000..46a883e
--- /dev/null
@@ -0,0 +1,33 @@
+CC = gcc
+PKGCONFIG = $(shell which pkg-config)
+CFLAGS = `$(PKGCONFIG) --cflags gtk+-3.0`
+LIBS = `$(PKGCONFIG) --libs gtk+-3.0`
+GLIB_COMPILE_RESOURCES = `$(PKGCONFIG) --variable=glib_compile_resources gio-2.0`
+GLIB_COMPILE_SCHEMAS = `$(PKGCONFIG) --variable=glib_compile_schemas gio-2.0`
+
+SRC = resources.c exampleapp.c exampleappwin.c exampleappprefs.c main.c
+
+OBJS = $(SRC:.c=.o)
+
+all: exampleapp
+
+org.gtk.exampleapp.gschema.valid: org.gtk.exampleapp.gschema.xml
+       $(GLIB_COMPILE_SCHEMAS) --strict --dry-run --schema-file=$< && mkdir -p $(@D) && touch $@
+
+gschemas.compiled: org.gtk.exampleapp.gschema.valid
+       $(GLIB_COMPILE_SCHEMAS) .
+
+resources.c: exampleapp.gresource.xml $(shell $(GLIB_COMPILE_RESOURCES) --sourcedir=. --generate-dependencies exampleapp.gresource.xml)
+       $(GLIB_COMPILE_RESOURCES) exampleapp.gresource.xml --target=$@ --sourcedir=. --generate-source
+
+%.o: %.c
+       $(CC) -c -o $(@F) $(CFLAGS) $<
+
+exampleapp: $(OBJS) gschemas.compiled
+       $(CC) -o $(@F) $(LIBS) $(OBJS)
+
+clean:
+       rm -f org.gtk.exampleapp.gschema.xml.valid
+       rm -f gschemas.compiled
+       rm -f resources.c
+       rm -f $(OBJS)
diff --git a/examples/application8/Makefile.example b/examples/application8/Makefile.example
new file mode 100644 (file)
index 0000000..46a883e
--- /dev/null
@@ -0,0 +1,33 @@
+CC = gcc
+PKGCONFIG = $(shell which pkg-config)
+CFLAGS = `$(PKGCONFIG) --cflags gtk+-3.0`
+LIBS = `$(PKGCONFIG) --libs gtk+-3.0`
+GLIB_COMPILE_RESOURCES = `$(PKGCONFIG) --variable=glib_compile_resources gio-2.0`
+GLIB_COMPILE_SCHEMAS = `$(PKGCONFIG) --variable=glib_compile_schemas gio-2.0`
+
+SRC = resources.c exampleapp.c exampleappwin.c exampleappprefs.c main.c
+
+OBJS = $(SRC:.c=.o)
+
+all: exampleapp
+
+org.gtk.exampleapp.gschema.valid: org.gtk.exampleapp.gschema.xml
+       $(GLIB_COMPILE_SCHEMAS) --strict --dry-run --schema-file=$< && mkdir -p $(@D) && touch $@
+
+gschemas.compiled: org.gtk.exampleapp.gschema.valid
+       $(GLIB_COMPILE_SCHEMAS) .
+
+resources.c: exampleapp.gresource.xml $(shell $(GLIB_COMPILE_RESOURCES) --sourcedir=. --generate-dependencies exampleapp.gresource.xml)
+       $(GLIB_COMPILE_RESOURCES) exampleapp.gresource.xml --target=$@ --sourcedir=. --generate-source
+
+%.o: %.c
+       $(CC) -c -o $(@F) $(CFLAGS) $<
+
+exampleapp: $(OBJS) gschemas.compiled
+       $(CC) -o $(@F) $(LIBS) $(OBJS)
+
+clean:
+       rm -f org.gtk.exampleapp.gschema.xml.valid
+       rm -f gschemas.compiled
+       rm -f resources.c
+       rm -f $(OBJS)
diff --git a/examples/application9/Makefile.example b/examples/application9/Makefile.example
new file mode 100644 (file)
index 0000000..46a883e
--- /dev/null
@@ -0,0 +1,33 @@
+CC = gcc
+PKGCONFIG = $(shell which pkg-config)
+CFLAGS = `$(PKGCONFIG) --cflags gtk+-3.0`
+LIBS = `$(PKGCONFIG) --libs gtk+-3.0`
+GLIB_COMPILE_RESOURCES = `$(PKGCONFIG) --variable=glib_compile_resources gio-2.0`
+GLIB_COMPILE_SCHEMAS = `$(PKGCONFIG) --variable=glib_compile_schemas gio-2.0`
+
+SRC = resources.c exampleapp.c exampleappwin.c exampleappprefs.c main.c
+
+OBJS = $(SRC:.c=.o)
+
+all: exampleapp
+
+org.gtk.exampleapp.gschema.valid: org.gtk.exampleapp.gschema.xml
+       $(GLIB_COMPILE_SCHEMAS) --strict --dry-run --schema-file=$< && mkdir -p $(@D) && touch $@
+
+gschemas.compiled: org.gtk.exampleapp.gschema.valid
+       $(GLIB_COMPILE_SCHEMAS) .
+
+resources.c: exampleapp.gresource.xml $(shell $(GLIB_COMPILE_RESOURCES) --sourcedir=. --generate-dependencies exampleapp.gresource.xml)
+       $(GLIB_COMPILE_RESOURCES) exampleapp.gresource.xml --target=$@ --sourcedir=. --generate-source
+
+%.o: %.c
+       $(CC) -c -o $(@F) $(CFLAGS) $<
+
+exampleapp: $(OBJS) gschemas.compiled
+       $(CC) -o $(@F) $(LIBS) $(OBJS)
+
+clean:
+       rm -f org.gtk.exampleapp.gschema.xml.valid
+       rm -f gschemas.compiled
+       rm -f resources.c
+       rm -f $(OBJS)